package com.search.service;

import com.base.model.R;
import com.search.model.Media;

import java.io.IOException;
import java.util.List;

public interface MediaSearchService {
    /**
     * 同步mysql数据库中的数据到es中
     *
     * @return 返回同步是否成功
     */
    boolean synchronousMysqlToElasticSearch() throws IOException;

    /**
     * 复合查询,可通过搜索框中的内容进行搜索,支持搜索的字段为作者、标题、标签。可通过视频时长,视频分类进行过滤。
     * 可通过视频发布时间、视频播放量进行过滤。支持对结果进行分页,页面大小固定为60。
     *
     * @param context   搜索框
     * @param orderCode 排序码,根据排序码获取需要排序的字段。
     * @param page      页码,页面大小固定为60
     * @param category  分类
     * @param timeCode  时长码,根据时长码获取视频时长过滤条件的上下限。
     * @return 返回查询到的视频信息。
     */
    R<List<Media>> listMediaBySearchBox(String context, Integer orderCode, Integer page, Integer category, Integer timeCode);




    R<String> deleteMediaByMediaId( String mediaId) throws IOException;

    R<String> saveMedia(Media media);
}
